package com.wanshi.service;

import com.wanshi.dao.CartDao;
import com.wanshi.dao.ProdDao;
import com.wanshi.entity.CartItem;
import com.wanshi.entity.Product;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class CartService {

    private CartDao cartDao = new CartDao();

    private ProdDao prodDao = new ProdDao();

    public void addCart(String userid, String prodid) {
        //1 根据用户名 和 商品id 判断购物车中 之前该数据是否存在

        CartItem cartitem = cartDao.findCartByUserAndProd(userid, prodid);
        if(cartitem != null){
            //update 原来的数量加1
            cartDao.updateCartNum(cartitem.getId()+"");
        }else{
            //insert userid  prodid   1
            cartDao.addCart(userid,prodid);
        }
    }

    public Map<Product, Integer> findCartByUserId(String userid) {

        Map<Product, Integer> map = new HashMap<>();

        //获取用户购物车的每一条记录  userid  prodid  buynum
        List<CartItem> items = cartDao.findCartItemByUserId(userid);
        //2 根据prodid 查询商品详情
        for(CartItem item:items){
            int prod_id = item.getProd_id();
            Product prod = prodDao.findProdById(prod_id + "");

            //3 商品作为键 buynum作为值 添加到map中
            map.put(prod,item.getBuynum());
        }
        return map;
    }

    public void chageCartNum(String userid, String prodid, String num) {
        cartDao.chageCartNum(userid,prodid,num);
    }

    public void delCartById(String s, String prodid) {
        cartDao.delCartById(s,prodid);
    }

    public void clearCart(String userid) {
        cartDao.clearCart(userid);
    }
}
